package com.world.business.tenbatsu.service;


import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.world.business.tenbatsu.domain.Tenbatsu;
import com.world.business.tenbatsu.domain.query.TenbatsuAddRequest;
import com.world.business.tenbatsu.domain.query.TenbatsuPageRequest;
import com.world.business.tenbatsu.domain.query.TenbatsuUpdateRequest;
import com.world.business.tenbatsu.domain.vo.TenbatsuVO;
import org.apache.ibatis.annotations.Param;

/**
 * <p>
 * 天谴 服务类
 * </p>
 *
 * @author 邓驴
 * @since 2023-07-31
 */
public interface ITenbatsuService extends IService<Tenbatsu> {

    /**
     * 新增
     *
     * @param request 请求参数
     * @return {@link Long}
     * @author WangYX
     * @date 2023/09/04 15:54
     */
    Long add(TenbatsuAddRequest request);

    /**
     * 修改
     *
     * @param request 请求参数
     * @author WangYX
     * @date 2023/09/04 15:59
     */
    void update(TenbatsuUpdateRequest request);

    /**
     * 删除
     *
     * @param id 主键Id
     * @author WangYX
     * @date 2023/09/04 16:12
     */
    void delete(Long id);

    /**
     * 分页查询
     *
     * @param page     分页
     * @param request 查询条件
     * @return {@link IPage<TenbatsuVO>}
     * @author WangYX
     * @date 2023/09/04 16:40
     */
    IPage<TenbatsuVO> getPage(IPage<Tenbatsu> page, TenbatsuPageRequest request);

}
